1. Technical Field
The invention relates to a method and computer program product for generating an adaptive system architecture in a pattern recognition device or classifier. Image processing systems often contain pattern recognition devices (classifiers).
2. Description of the Prior Art
Pattern recognition systems, loosely defined, are systems capable of distinguishing between various classes of real world stimuli according to their divergent characteristics. A number of applications require pattern recognition systems, which allow a system to deal with unrefined data without significant human intervention. By way of example, a pattern recognition system may attempt to classify individual letters to reduce a handwritten document to electronic text. Alternatively, the system may classify spoken utterances to allow verbal commands to be received at a computer console. In order to classify real-world stimuli, however, it is necessary to train the classifier to discriminate between classes by exposing it to a number of sample patterns.
A typical prior art classifier is trained over a plurality of output classes using a set of training samples. The training samples are processed, data relating to features of interest are extracted, and training parameters are derived from this feature data. As the system receives an input associated with one of a plurality of classes, it analyzes its relationship to each class via a classification technique based upon these training parameters. From this analysis, the system produces an output class and an associated confidence value.
In a classification system with a large number of output classes, many of the classes will be poorly separated within a feature space defined by one set of features, but will be easily distinguished using a different set. Likewise, different classification techniques may be useful for some sets of classes, but inefficient or inaccurate in distinguishing between another set. It is thus often more efficient to segment the classification task into a number of subclassifications, each with its own features, classification techniques, and specific prior and subsequent processing.
While large, complex architectures of subclassifiers can be useful when classifying across a large number of output classes, it is often necessary to string together the various subclassifiers with intermediate software coding. Such intermediate coding must be custom written for each subclassifier to define its specific features and classes and to indicate its relationship to other subclassifiers in the system. The custom coding required increases both the expense and time necessary to develop commercial classification systems.